package proxy04;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.Date;

public class HandlerImpl implements InvocationHandler {

	private LaoWang lw = new LaoWang();

	@Override
	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
		long startTime = new Date().getTime();

		method.invoke(lw);//如果当前通过代理类对象调用的是eat()方法 :oneDay.eat();
		                   // 相当于 lw.eat();
							//如果当前通过代理类对象调用的是play()方法 :oneDay.play();
							// 相当于 lw.play();
	                     	//如果当前通过代理类对象调用的是sleep()方法 :oneDay.sleep();
		                     // 相当于 lw.sleep();

		long endTime = new Date().getTime();
		System.out.println(method.getName()+"方法的执行时间:"+(endTime-startTime));
		return null;
	}
}
